home *** CD-ROM | disk | FTP | other *** search
/ Belgian Amiga Club - ADF Collection / BS1 part 05.zip / BS1 part 5 / SASC_6.0_Disk_4.adf / Compiler_Headers / Include / libraries / expansionbase.h < prev    next >
C/C++ Source or Header  |  1992-07-30  |  3KB  |  92 lines

  1. #ifndef LIBRARIES_EXPANSIONBASE_H
  2. #define LIBRARIES_EXPANSIONBASE_H
  3. /*
  4. **    $Filename: libraries/expansionbase.h $
  5. **    $Release: 2.04 Includes, V37.4 $
  6. **    $Revision: 36.15 $
  7. **    $Date: 91/10/21 $
  8. **
  9. **    Definitions for the expansion library base
  10. **
  11. **    (C) Copyright 1987-1991 Commodore-Amiga, Inc.
  12. **        All Rights Reserved
  13. */
  14.  
  15. #ifndef EXEC_TYPES_H
  16. #include "exec/types.h"
  17. #endif    /* EXEC_TYPES_H */
  18.  
  19. #ifndef EXEC_LIBRARIES_H
  20. #include "exec/libraries.h"
  21. #endif    /* EXEC_LIBRARIES_H */
  22.  
  23. #ifndef EXEC_SEMAPHORES_H
  24. #include "exec/semaphores.h"
  25. #endif    /* EXEC_SEMAPHORES_H */
  26.  
  27. #ifndef LIBRARIES_CONFIGVARS_H
  28. #include "libraries/configvars.h"
  29. #endif    /* LIBRARIES_CONFIGVARS_H */
  30.  
  31.  
  32. /* BootNodes are scanned by dos.library at startup.  Items found on the
  33.    list are started by dos. BootNodes are added with the AddDosNode() or
  34.    the V36 AddBootNode() calls. */
  35. struct BootNode
  36. {
  37.     struct Node bn_Node;
  38.     UWORD    bn_Flags;
  39.     APTR    bn_DeviceNode;
  40. };
  41.  
  42.  
  43. /* expansion.library has functions to manipulate most of the information in
  44.    ExpansionBase.  Direct access is not permitted.  Use FindConfigDev()
  45.    to scan the board list. */
  46. struct    ExpansionBase
  47. {
  48.     struct Library    LibNode;
  49.     UBYTE    Flags;                /* read only (see below) */
  50.     UBYTE    eb_Private01;            /* private */
  51.     ULONG    eb_Private02;            /* private */
  52.     ULONG    eb_Private03;            /* private */
  53.     struct    CurrentBinding    eb_Private04;    /* private */
  54.     struct    List    eb_Private05;        /* private */
  55.     struct    List    MountList;    /* contains struct BootNode entries */
  56.     /* private */
  57. };
  58.  
  59. /* error codes */
  60. #define EE_OK        0
  61. #define EE_LASTBOARD    40  /* could not shut him up */
  62. #define EE_NOEXPANSION    41  /* not enough expansion mem; board shut up */
  63. #define EE_NOMEMORY    42  /* not enough normal memory */
  64. #define EE_NOBOARD    43  /* no board at that address */
  65. #define EE_BADMEM    44  /* tried to add bad memory card */
  66.  
  67. /* Flags */
  68. #define EBB_CLOGGED    0    /* someone could not be shutup */
  69. #define EBF_CLOGGED    (1<<0)
  70. #define EBB_SHORTMEM    1    /* ran out of expansion mem */
  71. #define EBF_SHORTMEM    (1<<1)
  72. #define EBB_BADMEM    2    /* tried to add bad memory card */
  73. #define EBF_BADMEM    (1<<2)
  74. #define EBB_DOSFLAG    3    /* reserved for use by AmigaDOS */
  75. #define EBF_DOSFLAG    (1<<3)
  76. #define EBB_KICKBACK33    4    /* reserved for use by AmigaDOS */
  77. #define EBF_KICKBACK33    (1<<4)
  78. #define EBB_KICKBACK36    5    /* reserved for use by AmigaDOS */
  79. #define EBF_KICKBACK36    (1<<5)
  80. /* If the following flag is set by a floppy's bootblock code, the initial
  81.    open of the initial shell window will be delayed until the first output
  82.    to that shell.  Otherwise the 1.3 compatible behavior applies. */
  83. #define EBB_SILENTSTART    6
  84. #define EBF_SILENTSTART    (1<<6)
  85.  
  86. /* Magic kludge for CC0 use */
  87. #define    EBB_START_CC0    7
  88. #define    EBF_START_CC0    (1<<7)
  89.  
  90.  
  91. #endif    /* LIBRARIES_EXPANSIONBASE_H */
  92.